package xiangmu.schoolpaper.service.system;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import xiangmu.schoolpaper.pojo.DTO.SystemTemplateOneByIdDTO;
import xiangmu.schoolpaper.pojo.DTO.SystemTemplateParameterByIdDTO;
import xiangmu.schoolpaper.pojo.DTO.SystemTemplateStatusDTO;
import xiangmu.schoolpaper.pojo.DTO.SystemTemplateWeightUpdateDTO;
import xiangmu.schoolpaper.pojo.VO.*;

public interface SystemTemplateManagementService {
//    3分页查询所有符合筛选条件的模板记录
    IPage<SystemTemplatesInfoVO> getAllTemplatesByPages(
            Integer currentPage,
            Integer pageSize,
            Integer facultyId,
            String major,
            String type
    );

//    4修改模板启用状态
    /**
     * @return  -2 表示模板不存在
     *          -1 表示非法操作（唯一启用不能设为0）
     *          1  表示修改成功
     *          0  表示无需修改
     */
    Integer updateTemplateStatusById(SystemTemplateStatusDTO systemTemplateStatusDTO);

//    5根据ID查看某一条模板基本信息
    SystemTemplateOneByIdVO getTemplateOneById(Integer templateId);

//    【已废弃******后续升级修改逻辑可做微调后使用】
//    6修改某一条模板基本信息
//    Boolean updateTemplateOneById(SystemTemplateOneByIdDTO systemTemplateOneByIdDTO);

//    6修改某一条模板的模板名称
    Boolean updateTemplateNameById(SystemTemplateOneByIdDTO systemTemplateOneByIdDTO);

//    7根据ID查看某一条模板评分参数
    SystemTemplateParameterByIdVO getTemplateParameterById(Integer templateId);

//    8根据ID修改某一条模板评分参数
    Boolean updateTemplateParameterById(SystemTemplateParameterByIdDTO systemTemplateParameterByIdDTO);

//    9根据ID查看某一条模板章节列表
    SystemTemplateChapterByIdVO getTemplateChapterById(Integer templateId);

//    10根据ID查看某一条模板权重信息
    SystemTemplateWeightByIdVO getTemplateWeightOneById(Integer templateId);

//    11修改某一条模板权重信息
    Boolean updateTemplateWeightOneById(SystemTemplateWeightUpdateDTO dto);
}
